home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / qbsub10.arc / KEY.SUB < prev    next >
Text File  |  1986-06-24  |  2KB  |  61 lines

  1.  
  2. ' KEY.SUB -- MSDOS QuickBASIC specialized keyboard subroutines    25 June 86
  3. '        by David L. Poskie     (608) 274-9560
  4. '                  7118 Raymond Rd. Madison, WI 53719
  5. ' Please run any suggestions, corrections, additions, or changes by me.
  6. ' I can be messaged on all the major Madison, WI RBBS's.
  7.  
  8. '| Subroutines: TestCapslock -- check capslock state
  9. '|        CapslockOn -- turn capslock on
  10. '|        CapslockOff -- turn capslock off
  11. '|        TestNumlock -- check numlock state
  12. '|        NumlockOn -- turn numlock on
  13. '|        NumlockOff -- turn numlock off
  14. '| Input: None -- calling the routine is all that's required
  15. '| Output: IsCapslock = capslock flag (True if on, False if off)
  16. '|       IsNumlock = numlock flag (True if on, False if off)    
  17. '|         Toggle key state occurs
  18.  
  19.     ' Test Capslock state
  20. TestCapslock:
  21.     DEF SEG = &H40
  22.     IF PEEK(&H17)                            _
  23.        AND 64                            _
  24.            THEN IsCapslock = True                    _
  25.            ELSE IsCapslock = False
  26. RETURN
  27.  
  28.     ' Turn Capslock > > ON
  29. CapslockOn:
  30.     DEF SEG = &H40
  31.     POKE(&H17) , PEEK(&H17) OR 64
  32. RETURN
  33.  
  34.     ' Turn Capslock > > OFF
  35. CapslockOff:
  36.     DEF SEG = &H40
  37.     POKE(&H17) , PEEK(&H17) AND 191
  38. RETURN
  39.  
  40.     ' Test Numlock state
  41. TestNumlock:
  42.     DEF SEG = &H40
  43.     IF PEEK(&H17)                            _
  44.        AND 32                            _
  45.            THEN Numlock = True                    _
  46.            ELSE Numlock = False
  47. RETURN
  48.  
  49.     ' Set Numlock >>> ON
  50. NumlockOn:
  51.     DEF SEG = &H40
  52.     POKE &H17 , PEEK(&H17) OR 32
  53. RETURN
  54.  
  55.     ' Set Numlock >>> OFF
  56. NumlockOff:
  57.     DEF SEG = &H40
  58.     POKE &H17 , PEEK(&H17) AND 223
  59. RETURN
  60. ' >>>> Physical EOF KEY.SUB 25 Jun 86
  61.